home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 9 / FM Towns Free Software Collection 9.iso / t_os / data / mopt_ap / digital2.plt < prev    next >
Text File  |  1994-11-16  |  57KB  |  1,534 lines

  1. /************************************************************************
  2. * MOPTERM2_オートパイロット(全自動版) DIGITAL-BBS 専用 (^o^)/                  *
  3. * DIGITAL2.PLT  1994年  8月  18日  4版  Ver1.0D                        *
  4. *                                                                       *
  5. *このオートパイロットは、 流用、変更、組み込み、などなど 許可なくOKです。  *
  6. *コピー 流用 変更 等の時は わらひの著作権表示を 一部に付けといてくれたら*
  7. *うれしいなぁ~(^_^)                                                    *
  8. *(なお 誤動作、プログラムミス等での 損失等は 一切責任を負いません(笑))   *
  9. *                                 Copyright By DIG00210 わらひ(^_^)*
  10. ************************************************************************/
  11. /* オートパイロット停止後に[PF12]キーで再起動できるように */
  12. setpf(12,{footnote({Loding...});}
  13.     |{setcdir(}|@xc({7b})|@getcdir|@xc({7d})|{);}|{#digital2.plt}
  14. );
  15. /************************************************************************
  16. *    ルート変数配列製造                        *
  17. ************************************************************************/
  18. var ID[12];
  19. var PassWord[12];
  20. var YourLeve[2];
  21. var ModemAT[31];
  22. var DialTP[1];
  23. var DialCH1[31];
  24. var DialCH2[31];
  25. var DialCH3[31];
  26. var DialCH4[31];
  27. var DialCH5[31];
  28. var NetCH[2];
  29. var DTEBaud[5];
  30. var LogDir[31];
  31. var Nattou[2];
  32. var Visibell[2];
  33. var Click[2];
  34. var brFLG[2];
  35. var DataList[2];
  36. var DialWait[2];
  37. var wgFLG[2];
  38. var MesMemo[33];
  39.  
  40. var SD[127];        var SK[4];
  41. var COMANDO[127];    var FLG[2];
  42. var ulFLG[2];    var dlFLG[2];
  43. var mesFLG[2];    var FREE[2];
  44. var ATTELN[63];  var DATE[31];
  45. /************************************************************************
  46. *    ルート標準関数製造 current; setcdir3(dir); FLGCheck;        *
  47. ************************************************************************/
  48. /* カレントデレクトリを収得する */
  49. %current @case(@nochar(@getcdir),3,{getchar(@getcdir,1,2)},,{getcdir});
  50. /*** ディレクトリーが もし無ければ作成して ディレクトリー移動する ***/
  51. %setcdir3{[dir]
  52. /* setcdir2; ディレクトリー移動 */
  53. %setcdir2{[dir]setcdir(@case(@nochar(dir),2,{im(dir|{\})},,{im(dir)}));};
  54. /* mkdir; ディレクトリー作成 */
  55. %ERR{display({(}|dir|{)が使えませんのぉ!!!\n});OASOBI;};
  56. %mkdir{[dir,name]case(@setcdir2(dir),
  57.     {Yes},{command({mkdir }|name)},
  58.     {No},{ERR;}
  59. );};
  60.     case(@setcdir2(dir),
  61.         {No},{case(@nochar(dir)==2,
  62.             {No},{setcdir3(@body(dir,,{\}));
  63.                 mkdir(@body(dir,,{\}),@tail(dir,{\}));},
  64.             {Yes},{ERR;}
  65.         );}
  66.     );setcdir2(dir);
  67. };
  68. %FLGCheck{
  69.     case(FLG,
  70.         {0},{SD:=current;SK:={MAM};
  71.         },{1},{SD:=LogDir|{\UP};SK:={@UP};
  72.         },{2},{SD:=LogDir|{\DL};SK:={@DL};
  73.         },{3},{SD:=LogDir|{\DL\LIST};SK:={LOG};
  74.         },{5},{SD:=current;SK:={DIG};
  75.         },{9},{SD:=LogDir|{\UP};SK:={TXT};
  76.         },,{display({FLGCheck異常\n});
  77.     });setcdir3(SD);
  78. };
  79. /************************************************************************
  80. *    メニュールーチン MENU;                        *
  81. ************************************************************************/
  82. /*-----------------------------------------------------------------------
  83.     メニュー変数配列製造
  84. -----------------------------------------------------------------------*/
  85. var dialtp[2];        var dtebaud[2];
  86. /*-----------------------------------------------------------------------
  87.     メニュー標準関数製造 CAMemo9; SetCNF({U}{C});
  88. -----------------------------------------------------------------------*/
  89. /* メモを すべて 閉じる */
  90. %CAMemo{case(@mcheck!=0,{Yes},{loop({mclose(2);im(@mcheck!=0)});});};
  91. CAMemo; madd(1,{}); madd(2,{}); madd(3,{}); madd(4,{});
  92. madd(5,{}); madd(6,{}); madd(7,{}); madd(8,{}); madd(9,{});
  93. %CAMemo9{case(@xlinenum<0,{Yes},{mopen(9);});CAMemo;}; CAMemo9;
  94. %SetCNF{[Para]
  95. /* 38400設定する */
  96. %sDigital{
  97.     baud({19200}); setcdir3(current);
  98.     dispoff({Yes}); command({BAUD 38400});
  99.     command({DIGITAL2}); dispoff({No});
  100. };
  101. /* 38400設定する */
  102. /* 設定読み書き時Setする */
  103. %sBot{
  104.     case(Nattou,{1},{nattou({Yes});},{2},{nattou({No});});
  105.     case(Visibell,{1},{visibell({Yes});},{2},{visibell({No});});
  106.     case(Click,{1},{click({Yes});},{2},{click({No});});
  107. };
  108. /* 設定読み込み時Setする */
  109. %sCh{
  110.     dtebaud:=@case(DTEBaud,
  111.         {2400},{baud({2400}); im({1}); },
  112.         {4800},{baud({4800}); im({2}); },
  113.         {9600},{baud({9600}); im({3}); },
  114.         {19200},{baud({19200});im({4});},
  115.         {38400},{sDigital; im({5}); },
  116.         ,{display({SetCheck:=dtebaud異常\n}); baud({9600}); im({3});}
  117.     );
  118.     dialtp:=@case(DialTP,
  119.         {P},{im({1});},{T},{im({2});},
  120.         ,{display({SetCheck:=dialtp異常\n}); im({1});}
  121.     );sBot;
  122. };
  123. /* 設定書き込み時Setする */
  124. %sUp{
  125.     DTEBaud:=@case(dtebaud,
  126.         {1},{baud({2400}); im({2400}); },
  127.         {2},{baud({4800}); im({4800}); },
  128.         {3},{baud({9600}); im({9600}); },
  129.         {4},{baud({19200});im({19200});},
  130.         {5},{sDigital; im({38400});},
  131.         ,{display({SetUP:=DTEBaud異常\n}); baud({9600}); im({9600});}
  132.     );
  133.     DialTP:=@case(dialtp,
  134.         {1},{im({P});},{2},{im({T});},
  135.         ,{display({SetUP:=DialTP異常\n}); im({P});}
  136.     );sBot;
  137. };
  138.     case(Para,{U},{sUp;},{C},{sCh;});
  139. };
  140. %TELCheck{
  141.     ATTELN:=@case(NetCH,
  142.         {1},{ im({AT}|ModemAT|{D}|DialTP|DialCH1) },
  143.         {2},{ im({AT}|ModemAT|{D}|DialTP|DialCH2) },
  144.         {3},{ im({AT}|ModemAT|{D}|DialTP|DialCH3) },
  145.         {4},{ im({AT}|ModemAT|{D}|DialTP|DialCH4) },
  146.         {5},{ im({AT}|ModemAT|{D}|DialTP|DialCH5) },
  147.         ,{ display({TELCheck異常\n}); im({AT}) }
  148.     );
  149. };
  150. /*-----------------------------------------------------------------------
  151.     アリス用関数製造 (message) (V00) (CFG) CFGSTART; hgLine(L);
  152. -----------------------------------------------------------------------*/
  153. /* アリス用関数を設定 */
  154. %message {デジタル-BBSにアクセスします。 };
  155. %V00{(DIGITAL2 v1.0D)};
  156. %CFG current|{\digital2.plp};
  157. %bCFG current|{\digital2.bak};
  158. %CFGSTART{setcdir3(current);#digital2.plp;};
  159. %hgLine{[Line] head(@getline(a,Line,1),{\n})};
  160. wgFLG:={ 1}; MesMemo:=V00|{で巡回中(^o^)/。};
  161. /*-----------------------------------------------------------------------
  162.     各種情報設定メニュー SetMENU;
  163. -----------------------------------------------------------------------*/
  164. %WriteSET{footnote({各種情報設定を保存しますですのぉ~~~!!!★彡});
  165.     SetCNF({U});
  166.     setcdir3(LogDir|{\UP});
  167.     dispoff({Yes});
  168.     command({copy }|CFG|{ }|bCFG);
  169.     command({del }|CFG);
  170.     dispoff({No});
  171.     write(CFG,
  172.         {ID      :=}|@xc({7b})|ID      |@xc({7d})|{;\n}|
  173.         {PassWord:=}|@xc({7b})|PassWord|@xc({7d})|{;\n}|
  174.         {ModemAT :=}|@xc({7b})|ModemAT |@xc({7d})|{;\n}|
  175.         {DialTP  :=}|@xc({7b})|DialTP  |@xc({7d})|{;\n}|
  176.         {DialCH1 :=}|@xc({7b})|DialCH1 |@xc({7d})|{;\n}|
  177.         {DialCH2 :=}|@xc({7b})|DialCH2 |@xc({7d})|{;\n}|
  178.         {DialCH3 :=}|@xc({7b})|DialCH3 |@xc({7d})|{;\n}|
  179.         {DialCH4 :=}|@xc({7b})|DialCH4 |@xc({7d})|{;\n}|
  180.         {DialCH5 :=}|@xc({7b})|DialCH5 |@xc({7d})|{;\n}|
  181.         {NetCH   :=}|@xc({7b})|NetCH   |@xc({7d})|{;\n}|
  182.         {DTEBaud :=}|@xc({7b})|DTEBaud |@xc({7d})|{;\n}|
  183.         {LogDir  :=}|@xc({7b})|LogDir  |@xc({7d})|{;\n}|
  184.         {Nattou  :=}|@xc({7b})|Nattou  |@xc({7d})|{;\n}|
  185.         {Visibell:=}|@xc({7b})|Visibell|@xc({7d})|{;\n}|
  186.         {Click   :=}|@xc({7b})|Click   |@xc({7d})|{;\n}|
  187.         {brFLG   :=}|@xc({7b})|brFLG   |@xc({7d})|{;\n}|
  188.         {DataList:=}|@xc({7b})|DataList|@xc({7d})|{;\n}|
  189.         {DialWait:=}|@xc({7b})|DialWait|@xc({7d})|{;\n}|
  190.         {wgFLG   :=}|@xc({7b})|wgFLG   |@xc({7d})|{;\n}|
  191.         {MesMemo :=}|@xc({7b})|MesMemo |@xc({7d})|{;\n}
  192.     ); /* DIGITAL2.PLPガ カケナイノヨォー (T_T) */
  193. };
  194. %SetMENU2{footnote({情報設定メニュー2ですのぉ~~~!!!★彡});
  195.     SetCNF({C});
  196.     %a @plane(
  197.     {s   適当に 設定して下さいですのぉ~~~!!!★彡          /戻\n}    |
  198.     {tリダイアル間ウエイト秒数の設定  /xx\n}            |
  199.     {r納豆スクロール      /あり/なし     \n}            |
  200.     {rビジアル点滅        /あり/なし     \n}            |
  201.     {rクリックサウンド    /あり/なし     \n}            |
  202.     {c   ¥,W,Gコマンドの発行しますか?!!!★彡\n}            |
  203.     {r¥,W,Gコマンド    /発行する/しません \n}            |
  204.     {t¥コマンドメッセージ/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n}    |
  205.     {c   メインボードの巡回を毎回するか設定するのよっ!!!★彡\n}    |
  206.     {r「B|N|Y」巡回のデフォルト /毎回する/やらない \n}            |
  207.     {c   ばいなりぃファイルのリストを取るか設定するのよっ!!!★彡\n}    |
  208.     {rDLデーターリストのデフォルト  /毎回取る/取らない \n}            |
  209.     {s★☆ 現在の状態を 保存しますか? ☆★  / 保存しますのぉ!!!}    ,
  210.         DialWait,Nattou,Visibell,Click,wgFLG,MesMemo
  211.         ,brFLG-1,DataList-1
  212.     );
  213.     DialWait:=    @hgLine(2);
  214.     Nattou:=    @hgLine(3)+0;
  215.     Visibell:=    @hgLine(4)+0;
  216.     Click:=        @hgLine(5)+0;
  217.     wgFLG:=        @hgLine(6)+0;
  218.     MesMemo:=    @hgLine(7);
  219.     brFLG:=        @hgLine(8)+1;
  220.     DataList:=    @hgLine(9)+1;
  221.     case(DialWait,{},{case(@filechk(CFG),{Yes},{CFGSTART;});});
  222.     case(@hgLine(10),{ 1},{WriteSET;});
  223. };
  224. %SetMENU{footnote({各種情報を 設定して下さいですのぉ~~~!!!★彡});
  225.     SetCNF({C});
  226.     case(@filechk(CFG),{Yes},{CFGSTART;});
  227.     %a @plane(
  228.     {s   個人情報を 設定して下さいですのぉ~~~!!!★彡   /次/戻\n}    |
  229.     {tあなたのDIGITAL-BBSの ユーザーID    /xxxxxxxxxx\n}        |
  230.     {tあなたのDIGITAL-BBSの パスワード      /xxxxxxxxxx\n}        |
  231.     {c   モデムコマンド設定ですのぉ!  例)X4\Q2\J0&M5\n}        |
  232.     {tあなたのモデムのATコマンド      AT/xxxxxxxxxxxxxxxxxxxxx\n}    |
  233.     {rあなたの電話回線のタイプ    /ダイアルパルス    /プッシュホン\n}        |
  234.     {rシリアルボーレート  /2400/4800/9600/19200/38400\n}        |
  235.     {c   DIGITAL-BBSの電話番号を 設定するのですのよっ!!!★彡\n}    |
  236.     {tDIGITAL-BBSのCH1のTEL番号/xxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n}    |
  237.     {tDIGITAL-BBSのCH2のTEL番号/xxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n}    |
  238.     {tDIGITAL-BBSのCH3のTEL番号/xxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n}    |
  239.     {tDIGITAL-BBSのCH4のTEL番号/xxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n}    |
  240.     {tDIGITAL-BBSのCH5のTEL番号/xxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n}    |
  241.     {rDIGITAL-BBSの接続チャンネル /CH1/CH2/CH3/CH4/CH5\n}        |
  242.     {c   ドライブ名からのフルパスで入力して下さいねっ! 例)D:\DIGITAL\n}    |
  243.     {tログ保存用ディレクトリ記入欄/xxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n}    |
  244.     {s★☆ 現在の状態を 保存しますか? ☆★  / 保存しますのぉ!!!}    ,
  245.         ID,PassWord,ModemAT,dialtp,dtebaud,DialCH1,
  246.         DialCH2,DialCH3,DialCH4,DialCH5,NetCH,LogDir
  247.     );
  248.     ID:=        @hgLine(2);
  249.     PassWord:=    @hgLine(3);
  250.     ModemAT:=    @hgLine(4);
  251.     dialtp:=    @hgLine(5)+0;
  252.     dtebaud:=    @hgLine(6)+0;
  253.     DialCH1:=    @hgLine(7);
  254.     DialCH2:=    @hgLine(8);
  255.     DialCH3:=    @hgLine(9);
  256.     DialCH4:=    @hgLine(10);
  257.     DialCH5:=    @hgLine(11);
  258.     NetCH:=        @hgLine(12)+0;
  259.     LogDir:=    @hgLine(13);
  260.     case(LogDir,{},{case(@filechk(CFG),{Yes},{CFGSTART;});});
  261.     case(@hgLine(14),{ 1},{WriteSET;});
  262.     case(@hgLine(1),{ 1},{case(@filechk(CFG),{Yes},{SetMENU2;});});
  263.     case(@getchar(ID,1,3),{DIG},{YourLeve:=2},,{YourLeve:=1});
  264. };
  265. /*-----------------------------------------------------------------------
  266.     予約状況メニュー StateMENU;
  267. -----------------------------------------------------------------------*/
  268. %StateMENU{ FLGCheck;
  269.     var MS[16];
  270. /*** メニュー表示文作成ルーチン ***/
  271. %LISTTING{ var x[999]; x:={}; var N[3]; N:=0; var TNT[3]; TNT:=0;
  272.     loop({ im({Yes}); N:=N+1;
  273.         %Q SD|{\}|SK|N|{.}|SK;
  274.         %R SD|{\}|SK|N|{.@RE};
  275.         %compA @filechk(Q);
  276.         %compB @filechk(R);
  277.         case(FLG=9&&compB,{Yes},{case(compA,{No},{
  278.             dispoff({Yes});command({del }|R);dispoff({No});
  279.         });}); %compB @filechk(R);
  280.         case(FLG=9&&compA<>compB,{Yes},{
  281.     footnote({侵入者発見ですの わぁのぉ~~!}|SK|N|{.}|SK); display({});
  282.     write(R,{NEW:}|SK|N|{.}|SK|{ タ>火星からヤッて来たの?<タイトル/ヨ> 2\n});
  283.         });
  284.         case(FLG=9&&compA&&compB,{Yes},{
  285.             %compC @tail(@read(R,1),{<タイトル/ヨ>},{\n});
  286.             case(compC={ 1},{Yes},{
  287.                 %A @head(@read(R,1),{ タ>});
  288.                 %B @body(@read(R,1),{ タ>},{<タイトル/ヨ>});
  289.                 %C @getchar(A|{ タ>}|B,1,50);
  290.                 x:=x|{c予約}|N|{. }|C|{\n};
  291.             },{No},{TNT:=TNT+1;
  292.             });
  293.         });
  294.         case(FLG<=8&&compA,{Yes},{
  295.             %Ans @getchar(@read(Q,1),1,50);
  296.             x:=x|{c予約}|N|{. }|Ans|{\n};
  297.         });
  298.         case(N<15+TNT,{No},{ im({No}); },{Yes},{ im({Yes}); });
  299.     });
  300.     im(x);
  301. };
  302. /*** メニュー表示文作成ルーチン おわり ***/
  303.     case(FLG,
  304.         {1},{MS:={アップロード予約};},
  305.         {2},{MS:={ダウンロード予約};},
  306.         {9},{MS:={送信文章予約設定};}
  307.     );
  308.     footnote(MS|{状況ですのぉ!!!★彡});
  309.     %a @plane(
  310.     {s   }|MS|{状況の表示でふぅ。!!!★彡          /OK\n}|
  311.     @LISTTING|
  312.     {s★☆ 現在の状態に 追加しますか? ☆★  / 変更しますのぉ!!!}    ,
  313.     );
  314.     case(@hgLine(2),{ 1},{Fsel;});
  315. };
  316. /*-----------------------------------------------------------------------
  317.     ファイルセレクター Fsel;
  318. -----------------------------------------------------------------------*/
  319. %Fsel{footnote({新規予約は右クリックですのぉ~~~!!!★彡});
  320.     case(FLG=9,
  321.         {Yes},{ mclear(9);
  322.             COMANDO:={B#003|E タ>タイトル記入欄<タイトル/ヨ> 2};
  323.         });
  324.     %WB{ case(Visibell,{1},{display({});},{2},{wait(1);}); };
  325.     %fname @filesel(SK);
  326.     case(fname={},
  327.         {Yes},{footnote({新規予約ですのぉ!!!★彡});WB;
  328.         },{No},{footnote({予約更新ですのぉ!!!★彡});
  329.             %Fname @head(fname,{.});
  330.             %Fx @getchar(fname,1,3);
  331.             case(FLG=9,
  332.                 {Yes},{mread(SD|{\}|fname,9);
  333. case(@filechk(Fname|{.@RE}),{Yes},{COMANDO:=@read(Fname|{.@RE},1);});
  334.                 },{No},{COMANDO:=@read(Fname|{.}|SK,1);
  335.             });
  336.             dispoff({Yes});
  337.             case(Fx,SK,{
  338. command({copy }|Fname|{.* }|SD|{\BAK_}|SK|{.}|SK);
  339. command({del }|SD|{\}|Fname|{.}|SK);
  340. command({del }|SD|{\}|Fname|{.@RE});
  341.             });
  342.             dispoff({No});
  343.     });
  344.     case(FLG,
  345.         {1},{ULMENU;},
  346.         {2},{DLMENU;},
  347.         {9},{TxtMENU;}
  348.     );
  349.     dispoff({Yes});
  350.     var N[3]; N:=0;
  351.     loop({N:=N+1;filechk(SD|{\}|SK|N|{.}|SK)});
  352.     case(COMANDO={},
  353.         {Yes},{footnote({削除しましたですのぉ~~~!!!★彡});
  354.         },{No},{footnote({保存しましたですのぉ~~~!!!★彡});
  355.             case(FLG=9,
  356.                 {Yes},{write(SD|{\}|SK|N|{.@RE},COMANDO|{\n});
  357.                     mwrite(SD|{\}|SK|N|{.}|SK,9);
  358.                 },{No},{write(SD|{\}|SK|N|{.}|SK,COMANDO|{\n});
  359.             });
  360.     }); COMANDO:={};
  361.     dispoff({No});
  362. };
  363. /*-----------------------------------------------------------------------
  364.     文書の作成のエディタのメニュー TxtMENU;
  365. -----------------------------------------------------------------------*/
  366. %TxtMENU{footnote({送信文書の作成/予約更新メニューですのぉ~~~!!!★彡});
  367. /*** メモOpenClose ***/
  368. %mOC{
  369.     mopen(1,0,21,639,310,{}); CAMemo9;
  370.     mopen(2,0,21,639,300,{}); CAMemo9;
  371.     mopen(3,0,21,639,290,{}); CAMemo9;
  372.     mopen(4,0,21,639,280,{}); CAMemo9;
  373.     mopen(5,0,21,639,270,{}); CAMemo9;
  374.     mopen(6,0,21,639,260,{}); CAMemo9;
  375.     mopen(7,0,21,639,250,{}); CAMemo9;
  376.     mopen(8,0,21,639,240,{r}); CAMemo9;
  377. };
  378. /*** メモOpenClose おわり ***/
  379. /***** 文書の作成のエディタ発行ルーチン *****/
  380. %TxtEdit{loop({footnote({終了}|{清書}|{メモ開}|{メモ閉}|{ログ},{b});loop({waitx(1);
  381. /*** 清書機能発行ルーチン ***/
  382. %TxfBAK{
  383.     footnote({編集中のメモ内容を清書しますのよ!});
  384.     dispoff({Yes});
  385.     %ORG SD|{\BAK_TXF.}|SK;
  386.     %TXF SD|{\@MemoTxf.}|SK;
  387.     command({del }|ORG);
  388.     CAMemo9;mwrite(ORG,9);
  389.     command({TXF -f -i }|ORG|{ -o }|TXF);
  390.     case(@filechk(TXF),
  391.         {Yes},{mclear(9);mread(TXF,9);},
  392.         {No},{footnote({清書のテキストが見つかりませんのぉ~~!});}
  393.     );
  394.     CAMemo9;mopen(9,0,21,639,459,{});
  395.     command({del }|TXF);
  396.     dispoff({No});
  397. };
  398. /*** 清書機能発行ルーチン おわり ***/
  399. /*** ログメモルーチン ***/
  400. %mcloseS{case(@xlinenum<0,{No},{mclose(1);});};
  401. %MW{mopen(8,0,21,639,300,{});mcloseS;mopen(9,0,180,639,459,{});};
  402. /*** ログメモルーチン おわり ***/
  403. /*** ストリングルーチン ***/
  404. %STR{
  405. %T @body(COMANDO,{ タ>},{<タイトル/ヨ>});
  406. %C @head(COMANDO,{ タ>});
  407. %MX @memo(mn,@xlinenum,1);
  408. %S3{var SS3[81];
  409. SS3:=@tail(@getchar(MX,1),{:},{\n});
  410. case(@getchar(SS3,1,1)={ },{Yes},{SS3:=@getchar(SS3,2)});
  411. SS3:=@getchar(SS3,1,57);
  412. COMANDO:=C|{ タ>}|SS3|{<タイトル/ヨ> 2\n};
  413. };
  414. %S2{COMANDO:={M|T|E|}|@head(MX,{: },{ [})|{ タ>}|T|{<タイトル/ヨ> 2\n};};
  415. %S1{ var P1[81]; var P3[81];
  416. P1:=@body(MX,{ (#},{)}); P1:=@getchar(P1,1,3); P3:=@tail(MX,{No.},{\n});
  417. case(@getchar(P3,3,1)={ },{Yes},{P3:=@getchar(P3,4,1);});
  418. case(@getchar(P3,2,1)={ },{Yes},{P3:=@getchar(P3,3,2);});
  419. case(@getchar(P3,1,1)={ },{Yes},{P3:=@getchar(P3,2,3);});
  420. COMANDO:={B#}|P1|{|R|}|P3|{ タ>}|T|{<タイトル/ヨ> 2\n};
  421. };
  422. %S0{case(@tail(MX,{<タイトル/ヨ>},{\n}),
  423.     { 1},{COMANDO:=@head(MX,{\n});},{ 2},{COMANDO:=@head(MX,{\n});});
  424. };
  425.     case(@getchar(MX,1,10),{タイトル :},{S3;sf:=1;});
  426.     case(@getchar(MX,1,10),{発信者   :},{S2;sf:=1;});
  427.     case(@getchar(MX,1,10),{ボード名 :},{S1;sf:=1;});
  428.     case(@nochar(@head(MX,{<タイトル/ヨ> },{\n})),1,{S0;sf:=1;});
  429.     case(sf=1||mn=9,{Yes},{im({No});
  430.         },{No},{im({No});
  431.             case(mn=8,{Yes},{
  432.                 CAMemo9;madd(9,{>}|MX);MW;im({Yes});
  433.             });
  434.     });
  435. };
  436. /*** ストリングルーチン おわり ***/
  437. /*** ログ取り出しルーチン ***/
  438. %LOCCAT{var SDD[127];
  439.     SDD:=LogDir|{\}|@getchar(@daylong,3,2)|@getchar(@daylong,6,2);
  440.     dispoff({Yes});    setcdir3(SDD); dispoff({No});
  441.     %fname @filesel({LOG});
  442.     case(fname={},{Yes},{CAMemo9;MW;
  443.         },{No},{CAMemo9;mclear(8);mread(fname,8);MW;
  444.     });
  445. };
  446. /*** ログ取り出しルーチン おわり ***/
  447.     %re{CAMemo9;mopen(9,0,21,639,459,{});im({Yes});};
  448.     var mn[2]; var sf[2];
  449.     case(@xtype,
  450.         {1},{mn:=1;STR;},{2},{mn:=2;STR;},{3},{mn:=3;STR;},
  451.         {4},{mn:=4;STR;},{5},{mn:=5;STR;},{6},{mn:=6;STR;},
  452.         {7},{mn:=7;STR;},{8},{mn:=8;STR;},
  453.         {9},{mn:=9;STR;},{-1},{re;},{0},{re;},
  454.         {101},{im({No});},{102},{TxfBAK;im({No});},{103},{re;},
  455.         {201},{im({No});},{202},{TxfBAK;im({No});},{203},{re;},
  456.         {104},{CAMemo9;im({Yes});},{204},{CAMemo9;im({Yes});},
  457.         {105},{LOCCAT;im({Yes});},{205},{LOCCAT;im({Yes});},
  458.         {106},{TxfBAK;im({No});},{107},{TxfBAK;im({No});},
  459.         {108},{TxfBAK;im({No});},{109},{TxfBAK;im({No});},
  460.         {110},{TxfBAK;im({No});},,{im({Yes});}
  461.     );
  462. });});};
  463. /***** 文書の作成のエディタ発行ルーチン おわり *****/
  464.     var CMN[127];
  465.     mOC;mopen(9,0,21,639,459,{});
  466.     loop({    %a @plane(
  467.     {s   送信文書の作成/更新ですのぉ~~~!!!★彡         /削除\n}    |
  468.     {t書き込み送り先コマンド/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n}    |
  469.     {s    /書き込み送り先コマンドなんて わかりませんのぉ!!!(ー_ーメ\n}    |
  470.     {cタイトル >____________________________________________________\n}    |
  471.     {t/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n}    |
  472.     {s    /    テキストエディタに 行きまぁ~~~すっ!!!★彡     \n}    |
  473.     {r現在の保存状態は。。。。。   /予約です。(^_^)/待機です。(^_^; \n}    |
  474.     {s★☆ 現在の状態で よろしいですか? ☆★  / 保存ですのぉ!!!}    ,
  475.         @head(COMANDO,{ タ>}),@body(COMANDO,{ タ>},{<タイトル/ヨ>}),
  476.         @tail(COMANDO,{<タイトル/ヨ>},{\n})
  477.         );
  478.         CMN:=@hgLine(2)|{ タ>}|@hgLine(4)|{<タイトル/ヨ>}|@hgLine(6);
  479.         case(@hgLine(3),{ 1},{COMANDO:=CMN;WAKARAN;});
  480.         case(@hgLine(5),{ 1},{COMANDO:=CMN;TxtEdit;});
  481.         case(@hgLine(2)={}&&@hgLine(4)={},{Yes},{TxtEdit;});
  482.         im({Yes});
  483.         case(@hgLine(1),{ 1},{CAMemo9;mclear(9);im({No});});
  484.         case(@hgLine(7),{ 1},{COMANDO:=CMN;im({No});});
  485.     }); CAMemo9;
  486. };
  487. /** ☆★ 第二部 ★☆ **/
  488. %WAKARAN{ var BAK[7]; var CM[127]; CM:=@head(COMANDO,{ タ>});
  489. /*** 宛先セレクター部品群 ***/
  490. %WAKARAN4{
  491.     %a @plane(
  492.     {s★☆ 会員ポストに 送るのですか? ☆★                  /次\n}    |
  493.     {s*会員専用です/☆メール ボックス なのぉ~~!!!       (ポスト)\n}    |
  494.     {c★☆ ボードに 送るのですか? ☆★\n}                |
  495.     {r   書式は どちらですのかしら(^_^; /書き込み/レスポンス\n}    |
  496.     {s      *意見箱/§ようこそ in CGと~くへ はい☆ミ    (#040)\n}    |
  497.     {s      *意見箱/§DTMボード意見箱                  (#041)\n}    |
  498.     {s      *意見箱/§FSWボード意見箱                  (#042)\n}    |
  499.     {s      * 趣味 /§ドラマ・映画大好き【TV等】         (#050)\n}    |
  500.     {s      * 趣味 /§音楽好き好きっ   【CD等】         (#051)\n}    |
  501.     {s      * 趣味 /§小説好き好きっ   【文庫等】         (#052)\n}    |
  502.     {s      * 趣味 /§アイドル通信☆   【歌手・俳優】     (#053)\n}    |
  503.     {s      * 趣味 /§スポーツ観戦     【野球・サッカー】     (#054)\n}    |
  504.     {s      * 趣味 /§エンジン全開!! 【車・バイク】     (#055)\n}    |
  505.     {s      * 趣味 /§ギャンブル天国   【競馬・パチンコ】    (#056)\n}    |
  506.     {s      * 趣味 /§飲み食い倒れぇ~ 【美味しい話】     (#057)\n}    |
  507.     {s      * 趣味 /§旅行自慢…えへん 【国内・海外】     (#058)}    ,1
  508.     );
  509.     BAK:=        @hgLine(3);
  510.     case(@hgLine(2)={ 1}&&YourLeve>=2,{Yes},{meeruSer;});
  511.     case(@hgLine(4),{ 1},{CM:={B#040|};BAK:=BAK+2;});
  512.     case(@hgLine(5),{ 1},{CM:={B#041|};BAK:=BAK+2;});
  513.     case(@hgLine(6),{ 1},{CM:={B#042|};BAK:=BAK+2;});
  514.     case(@hgLine(7),{ 1},{CM:={B#050|};BAK:=BAK+2;});
  515.     case(@hgLine(8),{ 1},{CM:={B#051|};BAK:=BAK+2;});
  516.     case(@hgLine(9),{ 1},{CM:={B#052|};BAK:=BAK+2;});
  517.     case(@hgLine(10),{ 1},{CM:={B#053|};BAK:=BAK+2;});
  518.     case(@hgLine(11),{ 1},{CM:={B#054|};BAK:=BAK+2;});
  519.     case(@hgLine(12),{ 1},{CM:={B#055|};BAK:=BAK+2;});
  520.     case(@hgLine(13),{ 1},{CM:={B#056|};BAK:=BAK+2;});
  521.     case(@hgLine(14),{ 1},{CM:={B#057|};BAK:=BAK+2;});
  522.     case(@hgLine(15),{ 1},{CM:={B#058|};BAK:=BAK+2;});
  523.     case(BAK=3,{Yes},{CM:=CM|{E};});
  524.     case(BAK=4,{Yes},{ResSer;});
  525. };
  526. %WAKARAN3{
  527.     %a @plane(
  528.     {s★☆ 一般会員は登録してねっ(^o^)v ☆★                 /次\n}    |
  529.     {s*会員専用です/☆プロフィール登録しますのぉ~~~♪*U(プロフ)\n}    |
  530.     {c★☆ ボードに 送るのですか? ☆★\n}                |
  531.     {r   書式は どちらですのかしら(^_^; /書き込み/レスポンス\n}    |
  532.     {s      *ゲーム/§パソコンゲームのことねっ☆          (#043)\n}    |
  533.     {s      *ゲーム/§家庭用ゲームのことだよっ☆          (#044)\n}    |
  534.     {s      *ゲーム/§アーケードゲームのことねっ☆        (#045)\n}    |
  535.     {s      *ソフト/§MS-DOSのことねっ☆            (#046)\n}    |
  536.     {s      *ソフト/§OS/2の庭                        (#047)\n}    |
  537.     {s      *ソフト/§WINDOWSの広場                (#048)\n}    |
  538.     {s      *ソフト/§ビジネスソフトのことねっ☆          (#049)\n}    ,1
  539.     );
  540.     BAK:=        @hgLine(3);
  541.     case(@hgLine(2)={ 1}&&YourLeve>=2,{Yes},{CM:={P|W|N};BAK:=9;});
  542.     case(@hgLine(4),{ 1},{CM:={B#043|};BAK:=BAK+2;});
  543.     case(@hgLine(5),{ 1},{CM:={B#044|};BAK:=BAK+2;});
  544.     case(@hgLine(6),{ 1},{CM:={B#045|};BAK:=BAK+2;});
  545.     case(@hgLine(7),{ 1},{CM:={B#046|};BAK:=BAK+2;});
  546.     case(@hgLine(8),{ 1},{CM:={B#047|};BAK:=BAK+2;});
  547.     case(@hgLine(9),{ 1},{CM:={B#048|};BAK:=BAK+2;});
  548.     case(@hgLine(10),{ 1},{CM:={B#049|};BAK:=BAK+2;});
  549.     case(BAK=3,{Yes},{CM:=CM|{E};});
  550.     case(BAK=4,{Yes},{ResSer;});
  551. };
  552. %WAKARAN2{
  553.     %a @plane(
  554.     {s★☆ 会員ポストに 送るのですか? ☆★                  /次\n}    |
  555.     {s*会員専用です/☆メール ボックス なのぉ~~!!!       (ポスト)\n}    |
  556.     {c★☆ ボードに 送るのですか? ☆★\n}                |
  557.     {r   書式は どちらですのかしら(^_^; /書き込み/レスポンス\n}    |
  558.     {s      *マシン/§NEC     【PC-98シリーズ】           (#030)\n}    |
  559.     {s      *マシン/§EPSON 【PC-98互換機】          (#031)\n}    |
  560.     {s      *マシン/§富士通     【FM-TOWNS・FM-R】        (#032)\n}    |
  561.     {s      *マシン/§SHARP 【X680x0・X1】            (#033)\n}    |
  562.     {s      *マシン/§IBM     【AT互換機・DOS_V】       (#034)\n}    |
  563.     {s      *マシン/§APPLE 【Macintosh】            (#035)\n}    |
  564.     {s      *マシン/§廃った機種 【MSX・88・77・ファミベ等】    (#036)\n}    |
  565.     {s      *周辺機/§周辺機器   【HDD・MO・AC等】          (#037)\n}    ,1
  566.     );
  567.     BAK:=        @hgLine(3);
  568.     case(@hgLine(2)={ 1}&&YourLeve>=2,{Yes},{meeruSer;});
  569.     case(@hgLine(4),{ 1},{CM:={B#030|};BAK:=BAK+2;});
  570.     case(@hgLine(5),{ 1},{CM:={B#031|};BAK:=BAK+2;});
  571.     case(@hgLine(6),{ 1},{CM:={B#032|};BAK:=BAK+2;});
  572.     case(@hgLine(7),{ 1},{CM:={B#033|};BAK:=BAK+2;});
  573.     case(@hgLine(8),{ 1},{CM:={B#034|};BAK:=BAK+2;});
  574.     case(@hgLine(9),{ 1},{CM:={B#035|};BAK:=BAK+2;});
  575.     case(@hgLine(10),{ 1},{CM:={B#036|};BAK:=BAK+2;});
  576.     case(@hgLine(11),{ 1},{CM:={B#037|};BAK:=BAK+2;});
  577.     case(BAK=3,{Yes},{CM:=CM|{E};});
  578.     case(BAK=4,{Yes},{ResSer;});
  579. };
  580. %WAKARAN1{
  581.     %a @plane(
  582.     {s★☆ SYSOPポストに 送るのですか? ☆★            /次\n}    |
  583.     {s*ゲスト専用です/○SYSOP宛メールなのよぉ~~!!! *W(ポスト)\n}    |
  584.     {c★☆ ボードに 送るのですか? ☆★\n}                |
  585.     {r   書式は どちらですのかしら(^_^; /書き込み/レスポンス\n}    |
  586.     {s      *BBS/§通信関係の質問箱です                (#014)\n}    |
  587.     {s      *コミケ/§コミケ・パソケの最新情報☆          (#018)\n}    |
  588.     {s      * 紹介 /§他のBBS紹介ボード                (#019)\n}    |
  589.     {s      *フリー/§フリートークだわんっ                (#003)\n}    |
  590.     {s      *アニメ/§ようこそ in 公園通り はい☆彡       (#025)\n}    ,1
  591.     );
  592.     BAK:=        @hgLine(3);
  593.     case(YourLeve<=1&&@hgLine(2)={ 1},{Yes},{CM:={M|T|E};BAK:=9;});
  594.     case(@hgLine(4),{ 1},{CM:={B#014|};BAK:=BAK+2;});
  595.     case(@hgLine(5),{ 1},{CM:={B#018|};BAK:=BAK+2;});
  596.     case(@hgLine(6),{ 1},{CM:={B#019|};BAK:=BAK+2;});
  597.     case(@hgLine(7),{ 1},{CM:={B#003|};BAK:=BAK+2;});
  598.     case(@hgLine(8),{ 1},{CM:={B#025|};BAK:=BAK+2;});
  599.     case(BAK=3,{Yes},{CM:=CM|{E};});
  600.     case(BAK=4,{Yes},{ResSer;});
  601. };
  602. %meeruSer{loop({ im({Yes});
  603.     case(@getchar(CM,10,5)!={},{No},{CM:={M|T|E|DIG00210}});
  604.     %a @plane(
  605.     {c   どなたですのぉ~~~!!!★彡\n}                |
  606.     {c\n}                                |
  607.     {t相手のID DIG/xxxxx\n}                    |
  608.     {c\n}                                |
  609.     {s★☆ この方で よろしいですか? ☆★  / OKですのぉ!!!}    ,
  610.     @head(CM,{|DIG},{\n})
  611.     );
  612.     BAK:=@hgLine(1);
  613.     case(BAK!={}&&@hgLine(2)={ 1},{Yes},{
  614.         CM:={M|T|E|DIG}|BAK; BAK:=9; im({No});
  615.     });
  616. });};
  617. %ResSer{loop({ im({Yes});
  618.     %a @plane(
  619.     {c   何番のメールのレスですのぉ~~~!!!★彡\n}            |
  620.     {c\n}                                |
  621.     {tメールの番号 No./xxxx\n}                    |
  622.     {c\n}                                |
  623.     {s★☆ この番号で よろしいですか? ☆★  / OKですのぉ!!!}    ,
  624.     );
  625.     BAK:=@hgLine(1);
  626.     case(BAK!={}&&@hgLine(2)={ 1},{Yes},{
  627.         CM:=CM|{R|}|BAK; BAK:=BAK+9; im({No});
  628.     });
  629. });};
  630. /***** メニュー群 終わり *****/
  631.     loop({
  632.         %disBL{display({});};
  633.         case( BAK<=2 ,{Yes},{ disBL;WAKARAN1; });
  634.         case( BAK<=2 ,{Yes},{ disBL;WAKARAN2; });
  635.         case( BAK<=2 ,{Yes},{ disBL;WAKARAN3; });
  636.         case( BAK<=2 ,{Yes},{ disBL;WAKARAN4; });
  637.         %T @body(COMANDO,{ タ>},{<タイトル/ヨ>});
  638.         COMANDO:=CM|{ タ>}|T|{<タイトル/ヨ> 2\n};
  639.         case(BAK>=3,{Yes},{ disBL;im({No}); });
  640.         case(BAK<=2,{Yes},{ im({Yes}); });
  641.     });
  642. };
  643. /** ☆★ 第二部 終わり ★☆ **/
  644. /*-----------------------------------------------------------------------
  645.     ダウンロードメニュー DLMENU;
  646. -----------------------------------------------------------------------*/
  647. %DLMENU{footnote({ダウンロードメニューですのぉ~~~!!!★彡});
  648. /********* メニュー2 *********/
  649. %DLMENU2{
  650. /***** リストチェック *****/
  651. %LisC{ case(FLG=2,{Yes},{FLG:=3;},,{FLG:=8;});FLGCheck;
  652. /*** リストメニュー ***/
  653. %LisM{
  654. /* ファイル名チェック */
  655. %CAT{ var N[3]; N:=0;
  656.     case(@xlinenum<0,{Yes},{mopen(9);});
  657.     var P1[127]; P1:=@head(@getchar(COMANDO,3),{|});
  658.     var P2[127]; P2:=@tail(COMANDO,{|D|},{|});
  659.     var M9X[127]; M9X:=@getchar(@memo(9,@xlinenum,1),8,12);
  660.     P2:=@getchar(M9X,1,12); N:=0;
  661.     loop({ im({Yes}); N:=N+1;
  662.         case(@getchar(P2,N,1),@xc({20}),{
  663.             P2:=@getchar(P2,1,N-1)|{.}|@tail(P2,{.});
  664.         });
  665.         case(N,8,{im({No});});
  666.     });
  667.     P2:=@getchar(P2,1,12);
  668.     COMANDO:={F#}|P1|{|D|}|P2|{|G};
  669. };
  670. /* ファイル名チェック おわり */
  671.     loop({footnote({終了},{b});loop({waitx(999);case(@xtype,
  672.         {201},{CAT;im({No});},{101},{CAT;im({No});},
  673.         {102},{CAT;im({No});},{103},{CAT;im({No});},
  674.         {104},{CAT;im({No});},{105},{CAT;im({No});},
  675.         {9},{CAT;im({No});},,{im({Yes});
  676.     });});});
  677. };
  678. /*** リストメニュー おわり ***/
  679.     var P1[20]; P1:=@head(@getchar(COMANDO,3),{|});
  680.     var P2[20]; P2:=@tail(COMANDO,{|D|},{|});
  681.     %fname @filesel(SK);
  682.     case(fname={},{No},{
  683.         CAMemo9;mopen(9);mclose(3);mread(fname,9);
  684.         case(P1!=@getchar(fname,2,3),{Yes},{P2:={};});
  685.         P1:=@getchar(fname,2,3);
  686.         COMANDO:={F#}|P1|{|D|}|P2|{|G};
  687.     });
  688.     CAMemo9;mopen(9,0,150,639,459,{});
  689.     LisM;
  690.     case(FLG=3,{Yes},{FLG:=2;},,{FLG:=7;});FLGCheck;im({Yes});
  691. };
  692. /***** リストチェック おわり *****/
  693.     footnote({ダウンロードメニューですのぉ~~~!!!★彡});
  694.     loop({ im({No}); %a @plane(
  695.     {s   何番のボードですのぉ~~~!!!★彡                 /削除\n}    |
  696.     {tボードの番号 #/xxx\n}                        |
  697.     {c   DLするファイルの名前入力ですのぉ~~~!!!★彡\n}        |
  698.     {tファイル名 /xxxxxxxxxxxx\n}                    |
  699.     {s    /どんなのがぁ 在ったのかなぁ~? ログ検索しよっ!!!★彡\n}    |
  700.     {s★☆ 予約設定して よろしいですか? ☆★  / OKですのぉ!!!}    ,
  701.         @head(@getchar(COMANDO,3),{|}),@tail(COMANDO,{|D|},{|})
  702.         );
  703.         COMANDO:={F#}|@hgLine(2)|{|D|}|@hgLine(3)|{|G};
  704.         case(@hgLine(1),{ 1},{COMANDO:={};im({No});});
  705.         case(@hgLine(4),{ 1},{LisC;});
  706.         case(@hgLine(2)!={}&&@hgLine(3)!={}&&@hgLine(5)={ 1},
  707.             {Yes},{im({No});});
  708.     });CAMemo9;
  709. };
  710. /******* メニュー2 おわり *******/
  711.     case(@getchar(COMANDO,1,2)={F#},{No},{COMANDO:={};});
  712.     %a @plane(
  713.     {s   DL予約設定ですのぉ~~~!!!★彡                 /削除\n}    |
  714.     {t読み込み先DLコマンド/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n}    |
  715.     {s    /読み込み先DLコマンドなんて わかりませんのぉ!!!(ー_ーメ\n}    |
  716.     {s★☆ 予約設定して よろしいですか? ☆★  / OKですのぉ!!!\n}    ,
  717.         @head(COMANDO,{\n})
  718.     );
  719.     COMANDO:=    @hgLine(2);
  720.     case(@hgLine(1),{ 1},{COMANDO:={};});
  721.     case(@hgLine(3),{ 1},{DLMENU2;});
  722.     case(COMANDO={F#|D||G},{Yes},{COMANDO:={};});
  723. };
  724. /*-----------------------------------------------------------------------
  725.     アップロードメニュー ULMENU;
  726. -----------------------------------------------------------------------*/
  727. %ULMENU{
  728.     case(@tail(COMANDO,{|},{\n})={Y},{No},{COMANDO:={}});
  729.     case(@getchar(COMANDO,1,1),{M},{BMMENU;},,{ULMENU2;});
  730. };
  731. %BMMENU{footnote({バイナリMAILメニューですのぉ~~~!!!★彡});
  732.     case(@getchar(COMANDO,1,1),{F},{COMANDO:={};});
  733.     %a @plane(
  734.     {s   どなたですのぉ~~~!!!★彡                       /削除\n}    |
  735.     {t相手のID DIG/xxxxx\n}                    |
  736.     {c   ULするファイルの名前入力ですのぉ~~~!!!★彡\n}        |
  737.     {tFileName>}|SD|{\/xxxxxxxxxxxx\n}                |
  738.     {c   ファイルの説明を分かり易く入力して下さいですのぉ!!!★彡\n}    |
  739.     {tComment>/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n}    |
  740.     {s★☆ 予約設定して よろしいですか? ☆★  / OKですのぉ!!!}    ,
  741. /*@tail(@getchar(COMANDO,16),{|Y|},{|Y});M|B|E|DIG00210|ASDF|Y|A.LZH|Y*/
  742.         @getchar(COMANDO,10,5),
  743.         @tail(@body(@getchar(COMANDO,15),{|},{|Y}),{|Y|}),
  744.         @head(@body(@getchar(COMANDO,15),{|},{|Y}),{|Y|})
  745.     );
  746.     COMANDO:={M|B|E|DIG}|@hgLine(2)|{|}|@hgLine(4)|{|Y|}|@hgLine(3)|{|Y};
  747.     case(@nochar(@hgLine(2))=5,{No},{COMANDO:={};});
  748.     case(@hgLine(1),{ 1},{COMANDO:={};});
  749.     case(COMANDO={M|B|E|DIG|||Y},{Yes},{COMANDO:={};});
  750. };
  751. %ULMENU2{footnote({アップロードメニューですのぉ~~~!!!★彡});
  752.     %a @plane(
  753.     {s   何番のボードですのぉ~~~!!!★彡            /MAIL/削除\n}    |
  754.     {tアップロードするボードの番号 #/xxx\n}                |
  755.     {c   ULするファイルの名前入力ですのぉ~~~!!!★彡\n}        |
  756.     {tFileName>}|SD|{\/xxxxxxxxxxxx\n}                |
  757.     {c   ファイルの説明を分かり易く入力して下さいですのぉ!!!★彡\n}    |
  758.     {tComment>/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n}    |
  759.     {s★☆ 予約設定して よろしいですか? ☆★  / OKですのぉ!!!}    ,
  760.         @head(@getchar(COMANDO,3),{|}),
  761.         @head(@body(COMANDO,{|U|},{|Y}),{|}),
  762.         @tail(@body(COMANDO,{|U|},{|Y}),{|})
  763.     );
  764.     COMANDO:={F#}|@hgLine(2)|{|U|}|@hgLine(3)|{|}|@hgLine(4)|{|Y};
  765.     case(@getchar(COMANDO,3),{|},{COMANDO:={};});
  766.     case(@hgLine(1),{ 1},{BMMENU;});
  767.     case(@hgLine(1),{ 2},{COMANDO:={};});
  768.     case(COMANDO={F#|U|||Y},{Yes},{COMANDO:={};});
  769. };
  770. /*-----------------------------------------------------------------------
  771.     ゲストユーザー用通信メニュー (Lv1) Lv1MENU;
  772. -----------------------------------------------------------------------*/
  773. %Lv1MENU{footnote(V00|{  ゲストユーザー用メインメニューですのぉ!!!★彡});
  774.     setcdir3(current); SetCNF({C}); TELCheck;
  775.     %a @plane(
  776.     {sゲスト用オートパイロットですのぉ~!!!★彡        /AUTO停止\n}    |
  777.     {s   / ダウンロード予約メニューしますのぉ!!!  (DL 設定)\n}    |
  778.     {s   / 基本設定メニューに 移行しますのよ!★彡 (基本 設定)\n}    |
  779.     {s   / 送信文書の新規作成/編集更新ですのよ! (送文 設定)\n}    |
  780.     {c★☆ DIGITAL-BBS ゲストメニューでふぅ。!!!★彡 ☆★\n}    |
  781.     {c※ いつからのログが いりますか?(メインボード巡回時) ※\n}    |
  782.     {t B|N|巡回日付け記入 /xxxxxxxx\n}                |
  783.     {t 保存用ディレクトリ /xxxxxxxxxxxxxxxxxxxxxxxxx\n}        |
  784.     {c※ 通信設定 ※\n}                        |
  785.     {t ATコマンド+ダイヤルナンバー /\n}                    |
  786.     {rシリアルボーレート  /2400/4800/9600/19200/38400\n}        |
  787.     {rメインボードのログ巡回を      /巡回します/巡回しないの\n}    |
  788.     {rダウンロード用のファイル_リストのログは  /いらないのぉ/全部いるのぉ\n}    |
  789.     {rオートパイロット終了直前には  /自由行動なし/自由行動する\n}    |
  790.     {s★☆ 現在の状態で 通信しますか? ☆★  / 通信しますのぉ!!!}    ,
  791.         @getchar(@daylong,3,8),LogDir,ATTELN,dtebaud,1,1,FREE
  792.     );
  793.     case(@hgLine(1),{ 1},{OASOBI;stop;});
  794.     DATE:=        @hgLine(5);
  795.     LogDir:=    @hgLine(6);
  796.     ATTELN:=    @hgLine(7);
  797.     dtebaud:=    @hgLine(8)+0;
  798.     brFLG:=        @hgLine(9);
  799.     DataList:=    @hgLine(10);
  800.     case(DataList,{ 1},{DataList:={ 3};},{ 2},{DataList:={ 1};});
  801.     FREE:=        @hgLine(11);
  802.     case(LogDir,{},{case(@filechk(CFG),{Yes},{CFGSTART;});});
  803.     case(@hgLine(2),{ 1},{FLG:=2;StateMENU;});
  804.     case(@hgLine(3),{ 1},{SetMENU;});
  805.     case(@hgLine(4),{ 1},{FLG:=9;StateMENU;});
  806.     im({Yes});
  807.     case(@hgLine(12),{ 1},{FLG:=5;SetCNF({U});im({No});});
  808. };
  809. /*-----------------------------------------------------------------------
  810.     ALICE-NET通信メインメニュー MainMENU;
  811. -----------------------------------------------------------------------*/
  812. %MainMENU{footnote(V00|{  メインメニューですのぉ~~~!!!★彡});
  813.     setcdir3(current); SetCNF({C});
  814.     case(brFLG,{ 1},{brFLG:=2;});
  815.     case(DataList,{ 1},{DataList:=2;});
  816.     %a @plane(
  817.     {sDIGITAL-BBS オートパイロットですのぉ~!!!★彡    /AUTO停止\n}    |
  818.     {s   / アップロード予約メニューしますのぉ!!!  (UL 設定)\n}    |
  819.     {s   / ダウンロード予約メニューしますのぉ!!!  (DL 設定)\n}    |
  820.     {s   / 基本設定メニューに 移行しますのよ!★彡 (基本 設定)\n}    |
  821.     {s   / 送信文書の新規作成/編集更新ですのよ! (送文 設定)\n}    |
  822.     {c★☆ DIGITAL-BBS メインメニューでふぅ。!!!★彡 ☆★\n}    |
  823.     {rアップロードの予約を          /送信します/送信しないの\n}    |
  824.     {rダウンロードの予約を          /受信します/受信しないの\n}    |
  825.     {rメインボードは /日付指定巡回/前回の続きよ/しませんのぉ\n}    |
  826.     {rダウンロードのリストは/全部いるのぉ/最新だけいる/いらないのぉ\n}    |
  827.     {r送信文章のUP予約を          /送信します/送信やぁ~の\n}    |
  828.     {rオートパイロット終了直前には  /自由行動なし/自由行動する\n}    |
  829.     {s★☆ 現在の状態で 通信しますか? ☆★  / 通信しますのぉ!!!}    ,
  830.         ulFLG,dlFLG,brFLG,DataList,mesFLG,FREE
  831.     );
  832.     case(@hgLine(1),{ 1},{OASOBI;stop;});
  833.     ulFLG:=        @hgLine(6);
  834.     dlFLG:=        @hgLine(7);
  835.     brFLG:=        @hgLine(8);
  836.     DataList:=    @hgLine(9);
  837.     mesFLG:=    @hgLine(10);
  838.     FREE:=        @hgLine(11);
  839.     case(@hgLine(2),{ 1},{FLG:=1;StateMENU;});
  840.     case(@hgLine(3),{ 1},{FLG:=2;StateMENU;});
  841.     case(@hgLine(4),{ 1},{SetMENU;});
  842.     case(@hgLine(5),{ 1},{FLG:=9;StateMENU;});
  843.     im({Yes});
  844.     case(@hgLine(12)={ 1},{Yes},{TELCheck;FLG:=5;SetCNF({U});im({No});});
  845. };
  846. /*-----------------------------------------------------------------------
  847.     メニュースタートプログラム
  848. -----------------------------------------------------------------------*/
  849. %MENU{footnote({PILOT作者は‘わらひちゃん’ですのぉ~~~!!!★彡});
  850. /***** コンフィグファイルが有るか? 調べる *****/
  851. loop({case(@filechk(CFG),
  852.     {Yes},{ CFGSTART; im({No});
  853.     },{No},{
  854.         case(@filechk(bCFG),
  855.             {Yes},{command({copy }|bCFG|{ }|CFG);
  856.                 setcdir3(current);#digital2.bak; im({No});
  857.             },{No},{
  858. /*** コンフィグファイルが無い時は 初期設定する ***/
  859. ID:={よっきゅん}; PassWord:={会員なるゥ!}; ModemAT:={X4};
  860. DialTP:={P}; DialCH1:={0720-39-4459};
  861. DialCH2:={0720-39-4460}; DialCH3:={0720-39-4461};
  862. DialCH4:={0720-39-4462}; DialCH5:={0720-39-4465};
  863. NetCH:={1}; DTEBaud:={9600}; LogDir:={Q:\DIGITAL};
  864. Nattou:={2}; Visibell:={1}; Click:={1};
  865. brFLG:={2}; DataList:={2}; DialWait:={0};
  866. /*** コンフィグファイルが無い時は 初期設定する おわり ***/
  867.         SetMENU; im({Yes});
  868.         });
  869. });});
  870. /***** コンフィグファイルが有るか? 調べる おわり *****/
  871.     case(@getchar(ID,1,3),{DIG},{YourLeve:=2},,{YourLeve:=1});
  872.     loop({
  873.         case(YourLeve<=1,{Yes},{ Lv1MENU; });
  874.         case(YourLeve>=2,{Yes},{ MainMENU; });
  875.     });
  876. };
  877. /****** メニュールーチンの終わり ***************************************/
  878. /************************************************************************
  879. *    パイロットルーチン PILOT;                    *
  880. ************************************************************************/
  881. /*-----------------------------------------------------------------------
  882.     メインボード巡回の日付け記入部 Dkinyuu;
  883. -----------------------------------------------------------------------*/
  884. %Dkinyuu{footnote({※注) 空白や右クリの場合は『前回の続き』になりますのよ栲);
  885.     display({メインボード巡回日付指定で通信ですのぉ~~~!!!★彡\n});
  886.     DATE:=@input({★☆ メインボード巡回の日付け記入 ☆★\n}
  887.     |{記入のフォーマットは『}|@getchar(@daylong,3,6)
  888.     |{??』に従って下さいのぉ!!!★彡},{c},@getchar(@daylong,3,8));
  889.     case(DATE={},{No},{display({メインボード巡回は }
  890.         |DATE|{ 部分からレシーブですのぉ~~~!!!★彡\n});
  891.     },{Yes},{display({メインボード巡回は }
  892.         |{前回の続き 部分からレシーブですのぉ~~~!!!★彡\n});
  893.     });
  894. };
  895. /*-----------------------------------------------------------------------
  896.     ダイアル部 DialAP;
  897. -----------------------------------------------------------------------*/
  898. %DialAP{case(YourLeve<=1,{Yes},{
  899.         display({ゲストでDIGITAL-BBSに通信ですのぉ~~~!!!★彡});
  900.         account(LogDir|{\ACCOUNT.TXT},{デジタル-BBS(ゲスト)}); CAMemo9;
  901.     });
  902.     case(YourLeve>=2,{Yes},{ case(brFLG,{ 1},{ Dkinyuu; });
  903.         display({DIGITAL-BBSに通信ですのぉ~~~!!!★彡});
  904.         account(LogDir|{\ACCOUNT.TXT},{デジタル-BBS}); CAMemo9;
  905.     });
  906.     %x @case(FREE,{ 1},{im({Auto P});},{ 2},{im({Manual});});
  907.     display({\n}|message|{(}|@daylong|{)\n});
  908.     footnote(message|{(}|@daylong|{)}|{    }|x);
  909.     %MltD{ %callone{[ATTELN]dialone(ATTELN,{im({No});},{im({Yes});});};
  910.         loop({case(@callone(ATTELN),{Yes},{
  911.         callone(ATTELN);},{No},{im({No});});});
  912.     };
  913.     %WaitD{ var N[2]; N:=0; var C[2]; C:=0; var W[3];
  914.         loop({
  915.             N:=N+1; case(N>9,{Yes},{N:=0;}); W:=DialWait+0;
  916.             dialone(ATTELN|{-}|N,{C:=1;},{
  917.                 loop({im({Yes}); wait(1); display({.});
  918.                     case(W<=1,{Yes},{im({No});}); W:=W-1;
  919.                 });display({\n});
  920.             });
  921.             case(C!=0,{Yes},{im({No});},,{im({Yes});});
  922.         });
  923.     };
  924.     case(DialWait,
  925.         {},{dial(ATTELN);},{0},{dial(ATTELN);},{00},{dial(ATTELN);
  926.         },{M},{MltD;},{MM},{MltD;},{m},{MltD;},{mm},{MltD;
  927.         },,{WaitD;
  928.     });
  929. };
  930. /*-----------------------------------------------------------------------
  931.     ファイルチェックルーチン Fcheck;
  932. -----------------------------------------------------------------------*/
  933. %Fcheck{dispoff({Yes}); FLGCheck; dispoff({No});
  934.     var N[3]; N:=0; var TNT[3]; TNT:=0;
  935. /*** Fcheckルーチン ***/
  936. loop({ N:=N+1;
  937.     %comp @filechk(SD|{\}|SK|N|{.}|SK);
  938.     case(comp,{Yes},{
  939.         case(FLG<=8,
  940.             {Yes},{
  941.                 %Fn @read(SD|{\}|SK|N|{.}|SK,1);
  942.                 COMANDO:=Fn;
  943.                 COMANset;
  944.             },{No},{
  945.                 %comp @filechk(SD|{\}|SK|N|{.@RE});
  946.                 case(comp,{Yes},{
  947.                     %Fn @read(SD|{\}|SK|N|{.@RE},1);
  948.                     %comp @tail(Fn,{<タイトル/ヨ>},{\n});
  949.                     case(comp={ 1},{Yes},{
  950.                         COMANDO:=Fn;
  951.                         COMANset;
  952.                     },{No},{TNT:=TNT+1;
  953.                     });
  954.                 });
  955.         });
  956.     });
  957.     case(N<15+TNT,{No},{ im({No}); },{Yes},{ im({Yes}); });
  958. });
  959. /*** Fcheckルーチン 終わり ***/
  960. };
  961. /*-----------------------------------------------------------------------
  962.     コマンド発行ルーチン COMANset;
  963. -----------------------------------------------------------------------*/
  964. %COMANset{
  965.     case(FLG,
  966.         {1},{ULAP;
  967.         },{2},{DLAP;
  968.         },{9},{MesUPAP;
  969.     });
  970. };
  971. /*-----------------------------------------------------------------------
  972.     アップロード予約分の処理AP ULAP;
  973. -----------------------------------------------------------------------*/
  974. %ULAP{
  975. %ULAP2{ sendy(SD|{\}|comp); type(@xc({18})|{\n});
  976.     wait(15,,
  977.         {成功しました},{
  978.             footnote({(^_^)/★彡});
  979.             display({});
  980.             dispoff({Yes});
  981.             setcdir3(SD|{\bak});
  982.             command({copy }|SD|{\}|comp|{ }|SD|{\bak});
  983.             command({del }|SD|{\}|comp);
  984.             command({del }|SD|{\}|SK|N|{.}|SK);
  985.             dispoff({No});
  986.         },{失敗しました},{footnote({m(T_T)m});
  987.     });
  988. };
  989. %ULAP3{ display({\nUPファイルが無いですのぉ!!!★彡>});
  990.     wait(2); type(@xc({18})); wait(3);
  991. };
  992. /*** アップロード実行 ***/
  993. var comp[127];
  994. case(@getchar(COMANDO,1,1),
  995.     {F},{comp:=@head(@body(COMANDO,{|U|},{|Y}),{|});
  996.     },,{comp:=@tail(@body(@getchar(COMANDO,15),{|},{|Y}),{|Y|});
  997. });
  998. type(@head(COMANDO,{\n})|{\n});
  999. wait(10,,{アップロードします},{
  1000.         display({\nアップロード中ですのぉ!!!★彡>});
  1001.         footnote({ファイル(}|comp|{)は 転送中ですのぉ!!!★彡});
  1002.         wait(15,,{で中断},{wait(1);});
  1003.         %U @filechk(SD|{\}|comp);
  1004.         case(U,{Yes},{ ULAP2; },{No},{ ULAP3; });
  1005.     },{FILE},{
  1006. });
  1007. type({0|0|0|0|0\n});
  1008. wait(20,{stop},{MAIN});
  1009. /*** アップロード実行 おわり ***/
  1010. };
  1011. /*-----------------------------------------------------------------------
  1012.     ダウンロード予約分の処理AP DLAP;
  1013. -----------------------------------------------------------------------*/
  1014. %DLAP{
  1015. /* ダウンロード実行 */
  1016. type(@head(COMANDO,{\n})|{\n});
  1017. wait(10,,{ダウンロードします},{
  1018.         display({\nダウンロード中ですのぉ!!!★彡>});
  1019.         %dr @head(@getchar(COMANDO,3),{|});
  1020.         setcdir3(SD|{\#}|dr);
  1021.         %comp @tail(COMANDO,{|D|},{|});
  1022.         footnote({ファイル(}|comp|{)は 受信中ですのぉ!!!★彡});
  1023.         receivey(SD|{\#}|dr|{\}|comp);
  1024.         footnote({(^o^)/★彡});
  1025.         display({});
  1026.         dispoff({Yes});
  1027.         command({del }|SD|{\}|SK|N|{.}|SK);
  1028.         dispoff({No});
  1029.     },{削除してよろしい},{
  1030.         type({Y\n});
  1031.         display({});
  1032.         dispoff({Yes});
  1033.         command({del }|SD|{\}|SK|N|{.}|SK);
  1034.         dispoff({No});
  1035.     },{削除しました},{
  1036.         display({});
  1037.         dispoff({Yes});
  1038.         command({del }|SD|{\}|SK|N|{.}|SK);
  1039.         dispoff({No});
  1040.     },{見つかりません}
  1041. );
  1042. type({0|0|0|0|0\n});
  1043. wait(20,{stop},{MAIN});
  1044. /* ダウンロード実行 おわり */
  1045. };
  1046. /*-----------------------------------------------------------------------
  1047.     予約メッセージのアップAP MesUPAP;
  1048. -----------------------------------------------------------------------*/
  1049. %MesUPAP{ var Taito[127];
  1050. %PROF{
  1051.     type(Taito|{\n\n});
  1052.     send(SD|{\}|SK|N|{.}|SK);
  1053.     type({\n//\n});
  1054.     wait(10,,{TEXT EDIT},,{編集});
  1055.     type({0|W\n});
  1056.     wait(10,,
  1057.         {終了しました},{
  1058.             dispoff({Yes});
  1059.             command({copy }|SD|{\}|SK|N|{.* }|SD|{\}|{BAK_PRO.TXT});
  1060.             command({del }|SD|{\}|SK|N|{.}|SK);
  1061.             command({del }|SD|{\}|SK|N|{.@RE});
  1062.             dispoff({No});
  1063.         },{失敗しました}
  1064.     );
  1065. };
  1066. %Madd{
  1067.     dispoff({Yes});
  1068.     write(LogDir|{\MY_MAIL.LOG},@daylong|{\n});
  1069.     write(LogDir|{\MY_MAIL.LOG},@read(SD|{\}|SK|N|{.@RE}));
  1070.     write(LogDir|{\MY_MAIL.LOG},@read(SD|{\}|SK|N|{.}|SK));
  1071.     write(LogDir|{\MY_MAIL.LOG},{\n[RET]\n\n});
  1072.     dispoff({No});
  1073. };
  1074. /* 書き込み時 */
  1075. Taito:=@body(COMANDO,{ タ>},{<タイトル/ヨ>});
  1076. COMANDO:=@head(COMANDO,{ タ>});
  1077. case(@getchar(COMANDO,1,6),{M|T|E|},{Madd;},{m|t|e|},{Madd;});
  1078. type(COMANDO|{\n});
  1079. wait(10,{OASOBI;},
  1080.     {タイトル >},{
  1081.         type(Taito|{\n});
  1082.         wait(10,{ENDAP;},{nn,?,0) >},{ENDAP;},{([Y]/N) >});
  1083.         type({Y\n});
  1084.         wait(10,{stop},
  1085.             {ラインエディタ},{
  1086.                 wait(10,{stop},{#,?,0) >});
  1087.                 type({N\n});
  1088.                 send(SD|{\}|SK|N|{.}|SK);
  1089.                 type({\n//\n});
  1090.                 wait(10,{stop},{#,?,0) >});
  1091.                 type({0\n});
  1092.             },{ベタエディタ},{
  1093.                 wait(10,{stop},{Line+});
  1094.                 send(SD|{\}|SK|N|{.}|SK);
  1095.                 type({\n//\n});
  1096.         });
  1097.         wait(10,{stop},{文章登録});
  1098.         type({W\n});
  1099.         wait(10,,
  1100.             {終了しました},{
  1101.                 dispoff({Yes});
  1102.                 command({del }|SD|{\}|SK|N|{.}|SK);
  1103.                 command({del }|SD|{\}|SK|N|{.@RE});
  1104.                 dispoff({No});
  1105.             },{失敗しました}
  1106.         );
  1107.     },
  1108.     {ラインエディタ},{PROF;},
  1109.     {そのボードには入れません},,
  1110.     {ボードが見つかりません}
  1111. );
  1112. type({0|0|0|0|0\n});
  1113. wait(20,{stop},{MAIN});
  1114. /* 書き込み時 おわり */
  1115. };
  1116. /*-----------------------------------------------------------------------
  1117.     ¥,W,発行 Gatherのレシーブ処理AP WGAP;
  1118. -----------------------------------------------------------------------*/
  1119. %WGAP{
  1120.     type({\\}|MesMemo|{\n});
  1121.     wait(30,,{MAIN}); type({W\n});
  1122.     wait(30,,{MAIN}); type({G\n}); wait(30,,{Gather world});
  1123.     wait(30,,{-----\n}); receive(LogDir|{\GATHER.LOG});
  1124.     wait(300,,{-----\n}); stoprec;
  1125.     wait(30,,{>}); type({\n});
  1126.     wait(30,,{MAIN});
  1127. };
  1128. /*-----------------------------------------------------------------------
  1129.     メールボードのレシーブ処理AP
  1130. -----------------------------------------------------------------------*/
  1131. %MailAP{
  1132. /* メール削除共通部 */
  1133. %KillAP{
  1134.     var KILLmoto[127]; var KILLn[5]; var KILLw[127]; var N[3];
  1135.     KILLmoto:={}; KILLw:={}; N:=0; wait(30,,{---\n});
  1136.     receive(LogDir|{\KILL.LOG}); wait(20,,{\n\n}); stoprec;
  1137.     loop({ N:=N+1;
  1138.         KILLmoto:=@read(LogDir|{\KILL.LOG},N,1);
  1139.         case(@getchar(KILLmoto,46,1),{o},{
  1140.             KILLn:=@getchar(KILLmoto,1,4);
  1141.             KILLw:=KILLw|KILLn|{,};
  1142.         });
  1143.     case(@nochar(KILLmoto)>4,{No},{ im({No}); },{Yes},{ im({Yes}); });
  1144.     });
  1145.     loop({
  1146.         KILLn:=@getchar(KILLw,1,4)+0; KILLw:=@body(KILLw,{,});
  1147.         case(KILLn<>0,{No},{ im({No}); },{Yes},{
  1148.             type({K|}|KILLn|{|Y\n}); wait(20,,{MAIL}); im({Yes});
  1149.         });
  1150.     }); wait(3,,{>});
  1151.     command({del }|LogDir|{\KILL.LOG});
  1152.     type({0\n}); wait(20,,{MAIL});
  1153. };
  1154. /* メール削除共通部 おわり */
  1155. /* バイナリメールレシーブ部 */
  1156. %BMrec{
  1157. /* レシーブ共通部 */
  1158. %BMrecA{ receive(LogDir|{\MAIL.LOG}); wait(3000,,{===\n}); stoprec; };
  1159. %BMrecB{
  1160.     %LASTfn @tail(@laststr(128),{名 : },{\n});
  1161.     setcdir3(LogDir|{\B_MAIL});
  1162.     wait(10,,{Protocol}); type({Y\n});
  1163.     footnote({(}|LASTfn|{)は 受信中ですのぉ!!!★彡});
  1164.     wait(10,,{中断}); receivey(LASTfn); type({\n});
  1165.     footnote({(^o^)/★彡}); display({});
  1166. };
  1167. %BMrec2{
  1168.     loop({ BMrecA; wait(10,,{Protocol}); type({Q\n}); wait(10,,{。});
  1169.         case(BMN<>0,{No},{im({No});},{Yes},{BMN:=BMN-1;im({Yes});});
  1170.     });
  1171.     display({\nバイナリメール受信しますのぉ!!!★彡>});
  1172.     dispoff({Yes}); wait(20,,{MAIN}); type({M|B|N\n\n});
  1173.     loop({ wait(20,,
  1174.         {Mail},{ wait(30,,{===\n}); BMrecB; im({Yes});
  1175.         },{DIRECTIVE :},{ type({0|0|0\n}); im({No});
  1176.     }); }); dispoff({No});
  1177. };
  1178. /* レシーブ共通部 おわり */
  1179.     BMN:=BMN-1; case(BMN<>0,{No},{ BMrecA; BMrecB; },{Yes},{ BMrec2; });
  1180. };
  1181. /* バイナリメールレシーブ部 おわり */
  1182.     var SWMT[1]; var SWMB[1]; SWMT:=0; SWMB:=0;
  1183.     loop({ im({Yes}); wait(20,,
  1184.         {MAIN},{im({No});
  1185.         },{テキストメールが},{SWMT:=1;
  1186.             wait(20,,{。}); receive(LogDir|{\MAIL.LOG});
  1187.             wait(3000,,{DIRECTIVE}); stoprec;
  1188.         },{テキストメールは},{
  1189.         },{バイナリメールが},{SWMB:=1;
  1190.             wait(20,,{。}); var BMN[3];
  1191.             BMN:=@tail(@laststr(128),{メールが },{ 通}); BMrec;
  1192.         },{バイナリメールは}
  1193.     ); });
  1194.     case(SWMT=1||SWMB=1,{Yes},{type({M\n}); wait(20,,{MAIL});
  1195.         case(SWMT=1,{Yes},{
  1196. display({\nテキスト(済)削除中ですのぉ!!!★彡>});
  1197.             dispoff({Yes}); type({T|L\n\n}); KillAP; dispoff({No});
  1198.         });
  1199.         case(SWMB=1,{Yes},{
  1200. display({\nバイナリ(済)削除中ですのぉ!!!★彡>});
  1201.             dispoff({Yes}); type({B|L\n\n}); KillAP; dispoff({No});
  1202.         }); type({0\n});
  1203.     });
  1204. };
  1205. /*-----------------------------------------------------------------------
  1206.     通常ボード巡回のレシーブ処理AP
  1207. -----------------------------------------------------------------------*/
  1208. %BRAP{footnote({メインボード・レシーブ巡回中ですのぉ!!!★彡});
  1209.     SD:=LogDir|{\}|@getchar(@daylong,3,2)|@getchar(@daylong,6,2);
  1210.     dispoff({Yes});    setcdir3(SD); dispoff({No});
  1211. /* ボード・レシーブ巡回共通部 */
  1212. var TAITORU[15];
  1213. type({B|N|Y\n}|DATE|{\n});
  1214. wait(15,{stop},{書式が違います},{type({N|Y\n\n});},{連続で読みます});
  1215. loop({ im({Yes});
  1216.     wait(10,,
  1217.         {#00},{
  1218.             wait(10,,
  1219.                 {0},{  TAITORU:={#00.LOG};},
  1220.                 {1},{  TAITORU:={#01.LOG};},
  1221.                 {2},{  TAITORU:={#02.LOG};},
  1222.                 {3},{TAITORU:={FREETALK.LOG};},
  1223.                 {4},{  TAITORU:={#04.LOG};},
  1224.                 {5},{  TAITORU:={#05.LOG};},
  1225.                 {6},{  TAITORU:={#06.LOG};},
  1226.                 {7},{  TAITORU:={#07.LOG};},
  1227.                 {8},{  TAITORU:={#08.LOG};},
  1228.                 {9},{  TAITORU:={#09.LOG};}
  1229.             );
  1230.         },
  1231.         {#01},{
  1232.             wait(10,,
  1233.                 {0},{ TAITORU:={SYSINF.LOG};},
  1234.                 {1},{ TAITORU:={SIGINF.LOG};},
  1235.                 {2},{TAITORU:={NEWMEM.LOG};},
  1236.                 {3},{ TAITORU:={HALLO.LOG};},
  1237.                 {4},{TAITORU:={Q&A.LOG};},
  1238.                 {5},{ TAITORU:={MEYASU.LOG};},
  1239.                 {6},{ TAITORU:={SELBUY.LOG};},
  1240.                 {7},{ TAITORU:={OFFMEET.LOG};},
  1241.                 {8},{TAITORU:={COMIKE.LOG};},
  1242.                 {9},{TAITORU:={BBSINF.LOG};}
  1243.             );
  1244.         },
  1245.         {#02},{
  1246.             wait(10,,
  1247.                 {0},{ TAITORU:={ANIME.LOG};},
  1248.                 {1},{ TAITORU:={MOON.LOG};},
  1249.                 {2},{ TAITORU:={CHACHA.LOG};},
  1250.                 {3},{ TAITORU:={TENCHI.LOG};},
  1251.                 {4},{ TAITORU:={HAMIBA.LOG};},
  1252.                 {5},{TAITORU:={YOKYUN.LOG};},
  1253.                 {6},{  TAITORU:={#26.LOG};},
  1254.                 {7},{ TAITORU:={COMIC.LOG};},
  1255.                 {8},{  TAITORU:={#28.LOG};},
  1256.                 {9},{  TAITORU:={#29.LOG};}
  1257.             );
  1258.         },
  1259.         {#03},{
  1260.             wait(10,,
  1261.                 {0},{TAITORU:={NEC.LOG};},
  1262.                 {1},{TAITORU:={EPSON.LOG};},
  1263.                 {2},{TAITORU:={FUJI.LOG};},
  1264.                 {3},{TAITORU:={SHARP.LOG};},
  1265.                 {4},{TAITORU:={IBM.LOG};},
  1266.                 {5},{TAITORU:={APPLE.LOG};},
  1267.                 {6},{TAITORU:={ELSEHARD.LOG};},
  1268.                 {7},{TAITORU:={THIRD.LOG};},
  1269.                 {8},{  TAITORU:={#38.LOG};},
  1270.                 {9},{  TAITORU:={#39.LOG};}
  1271.             );
  1272.         },
  1273.         {#04},{
  1274.             wait(10,,
  1275.                 {0},{TAITORU:={CGTALK.LOG};},
  1276.                 {1},{TAITORU:={DTMTALK.LOG};},
  1277.                 {2},{TAITORU:={FSWTALK.LOG};},
  1278.                 {3},{TAITORU:={PCGAME.LOG};},
  1279.                 {4},{TAITORU:={HOGAME.LOG};},
  1280.                 {5},{TAITORU:={ACGAME.LOG};},
  1281.                 {6},{TAITORU:={MSDOS.LOG};},
  1282.                 {7},{TAITORU:={OS2.LOG};},
  1283.                 {8},{TAITORU:={WINDOWS.LOG};},
  1284.                 {9},{TAITORU:={BUSINESS.LOG};}
  1285.             );
  1286.         },
  1287.         {#05},{
  1288.             wait(10,,
  1289.                 {0},{TAITORU:={MOVIE.LOG};},
  1290.                 {1},{TAITORU:={MUSIC.LOG};},
  1291.                 {2},{TAITORU:={NOVEL.LOG};},
  1292.                 {3},{TAITORU:={IDOL.LOG};},
  1293.                 {4},{TAITORU:={SPORTS.LOG};},
  1294.                 {5},{TAITORU:={CAR.LOG};},
  1295.                 {6},{TAITORU:={GAMBLE.LOG};},
  1296.                 {7},{TAITORU:={TASTE.LOG};},
  1297.                 {8},{TAITORU:={TRIP.LOG};},
  1298.                 {9},{  TAITORU:={#58.LOG};}
  1299.             );
  1300.         },
  1301.         {#06},{
  1302.             wait(10,,
  1303.                 {0},{ TAITORU:={FEEL.LOG};},
  1304.                 {1},{ TAITORU:={LOVE.LOG};},
  1305.                 {2},{ TAITORU:={SOUDAN.LOG};},
  1306.                 {3},{  TAITORU:={#63.LOG};},
  1307.                 {4},{  TAITORU:={#64.LOG};},
  1308.                 {5},{  TAITORU:={#65.LOG};},
  1309.                 {6},{  TAITORU:={#66.LOG};},
  1310.                 {7},{  TAITORU:={#67.LOG};},
  1311.                 {8},{  TAITORU:={#68.LOG};},
  1312.                 {9},{  TAITORU:={#69.LOG};}
  1313.             );
  1314.         },
  1315.         {BOARD NEWS :}
  1316.     );
  1317.     wait(10,,
  1318.         {検索中},{
  1319.             wait(10,{stop},{個あります});
  1320.             receive(TAITORU);
  1321.             wait(3000,,{DIRECTIVE :});
  1322.             stoprec;
  1323.         },
  1324.         {...},{
  1325.             wait(10,{stop},{個あります});
  1326.             receive(TAITORU);
  1327.             wait(3000,,{DIRECTIVE :});
  1328.             stoprec;
  1329.         },
  1330.         {検索終了},,
  1331.         {ありません},,
  1332.         {されています},,
  1333.         {終了しました},{ im({No}); }
  1334.     );
  1335. });
  1336. type({0|0|0|0|0\n});
  1337. wait(20,{stop},{MAIN});
  1338. /* ボード・レシーブ巡回共通部 おわり */
  1339. };
  1340. /*-----------------------------------------------------------------------
  1341.     ダウンロード用リスト収得AP DLlistAP;
  1342. -----------------------------------------------------------------------*/
  1343. %DLlistAP{footnote({ダウンロード用リスト・レシーブ巡回中ですのぉ!!!★彡});
  1344.     dispoff({Yes}); FLGCheck; dispoff({No});
  1345. /* リスト・レシーブ巡回共通部 */
  1346. var TAITORU[15];
  1347. %SIMO1{ wait(10,,
  1348.     {0},{TAITORU:=TAITORU|{0};},{1},{TAITORU:=TAITORU|{1};},
  1349.     {2},{TAITORU:=TAITORU|{2};},{3},{TAITORU:=TAITORU|{3};},
  1350.     {4},{TAITORU:=TAITORU|{4};},{5},{TAITORU:=TAITORU|{5};},
  1351.     {6},{TAITORU:=TAITORU|{6};},{7},{TAITORU:=TAITORU|{7};},
  1352.     {8},{TAITORU:=TAITORU|{8};},{9},{TAITORU:=TAITORU|{9};},
  1353. ); };
  1354. type({F|N\n});
  1355. wait(20,{stop},{FILE NEWS :},{},{利用出来ません。},{OASOBI;});
  1356. type(DATE|{\n});
  1357. wait(20,{stop},{書式が違います},{type({N\n\n});},{検索します});
  1358. loop({ im({Yes});
  1359.     wait(10,,
  1360.         {#01},{TAITORU:={#01};SIMO1;},
  1361.         {#02},{TAITORU:={#02};SIMO1;},
  1362.         {#03},{TAITORU:={#03};SIMO1;},
  1363.         {#04},{TAITORU:={#04};SIMO1;},
  1364.         {#05},{TAITORU:={#05};SIMO1;},
  1365.         {[RET]:},,{FILE NEWS}
  1366.     );
  1367.     wait(10,{stop},
  1368.         {検索中},{
  1369.             wait(10,{stop},{... });
  1370.             receive(SD|{\}|TAITORU|{_LST.LOG});
  1371.             wait(3000,{stop},{ファイルがあります});
  1372.             stoprec;
  1373.         },
  1374.         {0:Quit) >},{type({\n});},
  1375.         {終了しました},{ im({No}); },
  1376.         {ありません}
  1377.     );
  1378. });
  1379. type({0|0|0|0|0\n});
  1380. wait(20,{stop},{MAIN});
  1381. /* リスト・レシーブ巡回共通部 おわり */
  1382. };
  1383. /*-----------------------------------------------------------------------
  1384.     自由行動AP FreeAP;
  1385. -----------------------------------------------------------------------*/
  1386. %FreeAP{
  1387. /* 共通部 自由行動処理 (自由行動しない時は自動終了) */
  1388. display({});
  1389. sendtype({Line}); chat({Yes}); backclr(0,0,74);
  1390. receive(LogDir|{\FREEPLAY.LOG});
  1391. loop({
  1392.     footnote({  自由行動して下さいのぉ!!! }
  1393.         |{( 終了ボタンはココですのよ!!! )});
  1394.     wait(1,,{アクセスありがとう},{ stoprec; OASOBI; },
  1395.         {--- Disconnected ---},{ stoprec; OASOBI; },
  1396.         {入力待ち時間切れです},{ stoprec; OASOBI; },
  1397.         {回線を切断します},{ stoprec; OASOBI; },
  1398.         {NO CARRIER},{ stoprec; OASOBI; }
  1399.     );
  1400.     footnote({MAIN}|{#003}|{#12T}|{プロフ}|{メールK}
  1401.         |{f#43}|{f#37}|{終了}|{終了}|{終了},{b});
  1402.     waitx(1);
  1403.     case(@xtype,
  1404.         {101},{type({0|0|0|0|0\n});im({Yes});},
  1405.         {201},{type({0|0|0|0|0\n});im({Yes});},
  1406.         {102},{type({0|0|0|0|0\nB#003\n});im({Yes});},
  1407.         {202},{type({0|0|0|0|0\nB#003\n});im({Yes});},
  1408.         {103},{type({0|0|0|0|0\nB#012|T\n});im({Yes});},
  1409.         {203},{type({0|0|0|0|0\nB#012|T\n});im({Yes});},
  1410.         {104},{type({0|0|0|0|0\nP|P\nDIG});im({Yes});},
  1411.         {204},{type({0|0|0|0|0\nP|P\nDIG});im({Yes});},
  1412.         {105},{type({0|0|0|0|0\nM|T|K|?\n\n});im({Yes});},
  1413.         {205},{type({0|0|0|0|0\nM|T|K|?\n\n});im({Yes});},
  1414.         {106},{type({0|0|0|0|0\nF#043|L\n\n});im({Yes});},
  1415.         {206},{type({0|0|0|0|0\nF#043|L\n\n});im({Yes});},
  1416.         {107},{type({0|0|0|0|0\nF#037|L\n\n});im({Yes});},
  1417.         {207},{type({0|0|0|0|0\nF#037|L\n\n});im({Yes});},
  1418.         {108},{type({0|0|0|0|0\nO\nY\n});im({No});},
  1419.         {208},{type({0|0|0|0|0\nO\nY\n});im({No});},
  1420.         {109},{type({0|0|0|0|0\nO\nY\n});im({No});},
  1421.         {209},{type({0|0|0|0|0\nO\nY\n});im({No});},
  1422.         {110},{type({0|0|0|0|0\nO\nY\n});im({No});},
  1423.         {210},{type({0|0|0|0|0\nO\nY\n});im({No});},
  1424.         ,{im({Yes});}
  1425.     );
  1426. });
  1427. wait(9999,,
  1428.     {--- Disconnected ---},{stoprec;},
  1429.     {アクセスありがとう},{stoprec;},
  1430.     {NO CARRIER},{stoprec;}
  1431. );
  1432. sendtype({Line}); chat({No});
  1433. /* 共通部 おわり */
  1434. };
  1435. /*-----------------------------------------------------------------------
  1436.     パイロットスタートプログラム
  1437. -----------------------------------------------------------------------*/
  1438. %PILOT{
  1439. /* メインルーチンAP */
  1440. setcdir3(LogDir|{\UP});
  1441. case(FLG=5,{Yes},{DialAP;});
  1442. backclr(0,57,81);
  1443. wait(20,{stop;},{User ID  =});
  1444. case(YourLeve<=1,{Yes},{
  1445.     type({GUEST\n});
  1446.     wait(20,{stop},{([Y]/N)});
  1447.     type({Y\n});
  1448.     wait(20,{stop;},{:}); wait(20,{stop;},{:});
  1449.     type(ID|{\n});
  1450. });
  1451. case(YourLeve>=2,{Yes},{
  1452.     type(ID|{\n});
  1453.     wait(15,{stop},{Password =});
  1454.     type(PassWord|{\n});
  1455.     MailAP;
  1456. });
  1457. case(YourLeve<=1,{Yes},{
  1458.     wait(20,{stop},{MAIN}); type({I|D|4|0|3|3|2|2\n});
  1459.     wait(30,{stop},{[RET]:}); type({\n0\n});
  1460. });
  1461. wait(10,{ type({I|D|4|0|3|3|2|2\n}); wait(30,,{[RET]:},{type({\n0\n});}); }
  1462.     ,{MAIN (A,B,C,D,E,F,G,H,I,L,M,N,P,S,T,U,V,W,X,#,\,?,O) >}
  1463. );
  1464. case(wgFLG,1,{ WGAP; });
  1465. case(YourLeve<=1,{Yes},{
  1466.     FLG:=2; Fcheck;
  1467.     case(brFLG,{ 1},{ BRAP; });
  1468.     case(DataList,{ 1},{ FLG:=3; DATE:={89/01/01}; DLlistAP; });
  1469.     FLG:=9; Fcheck;
  1470. });
  1471. case(YourLeve>=2,{Yes},{
  1472.     case(ulFLG,{ 1},{ FLG:=1; Fcheck; });
  1473.     case(dlFLG,{ 1},{ FLG:=2; Fcheck; });
  1474.     case(brFLG,{ 1},{ BRAP; });
  1475.     case(brFLG,{ 2},{ DATE:={}; BRAP; });
  1476.     case(DataList,{ 1},{ FLG:=3; DATE:={89/01/01}; DLlistAP; });
  1477.     case(DataList,{ 2},{ FLG:=3; DATE:={}; DLlistAP; });
  1478.     case(mesFLG,{ 1},{ FLG:=9; Fcheck; });
  1479. });
  1480. case(FREE,{ 1},{ type({O\nY\n}); wait(1); OASOBI; });
  1481. FreeAP;
  1482. OASOBI;
  1483. /* メインルーチンAP おわり */
  1484. };
  1485. /****** パイロットルーチンの終わり *************************************/
  1486. /************************************************************************
  1487. *    御あそび処理APコマンド OASOBI;                *
  1488. ************************************************************************/
  1489. %OASOBI{footnote({オートパイロット終了ですのよ!!! ★彡}); discon;
  1490.     var x[3]; var y[2];
  1491.     y:=6;loop({im({Yes});x:=255;loop({im({Yes});
  1492.         case(y,{0},{backclr(x,x,x);},{1},{backclr(0,0,x);},
  1493.             {2},{backclr(0,x,0);},{3},{backclr(x,0,0);},
  1494.             {4},{backclr(0,x,x);},{5},{backclr(x,0,x);},
  1495.             {6},{backclr(x,x,0);},
  1496.         );backclr(0,0,0);x:=x-16;im(x>=144);
  1497.     });y:=y-1;im(y>=0);});
  1498.     setcdir3(current);
  1499.     stop;
  1500. };
  1501. /************************************************************************
  1502. *    初期設定                            *
  1503. ************************************************************************/
  1504. baud({9600});        /* {300},{600},{1200},{2400},{4800},{9600},{19200}  */
  1505. xon({No});        /* X フロー制御をするか,否かを指定します           */
  1506. stopbit({1});        /* ストップビットを 1 又は 2 に設定します         */
  1507. parity({None});        /* パリティを {None},{Odd},{Even} に設定します      */
  1508. lineend({CR});        /* {CR},{LF},{CRLF}                                 */
  1509. lineendt({CR});        /* {CR},{LF},{CRLF}                                 */
  1510. flyingx({No});        /* Flyng-Xを使うか,否かを設定します                 */
  1511. dataleng({8bit});    /* データ長を設定します {7bit},{8bit}               */
  1512. rscs({Yes});        /* RS/CS線によるフロー制御を行います           */
  1513. flyline({1});        /* エコーバック前に何行の 文を送信するか {1~4}     */
  1514. code({sjis});        /* {sjis},{jis},{ojis},{euc}                        */
  1515. click({Yes});        /* キー入力時のクリック音を出すか,否かを指定します  */
  1516. logprint({No});        /* 受信文字の印刷を行うか,否かを設定します          */
  1517. nattou({No});        /* 通信画面でドット単位スクロールを行うか否かを指定 */
  1518. sendtype({Line});    /* {Line},{Ch/1},{Ch/2}                             */
  1519. ctrl({No});        /* ctrl系の制御コードによるカーソル移動を行うか */
  1520. esc({Yes});        /* ESCシーケンス                                 */
  1521. setoak({J});        /* OAK2のモードをセットします                   */
  1522. dispecho({Yes});    /* MNPのモデムを お使いの場合は yes           */
  1523. crmode({No});        /* 省略時は No                                    */
  1524. visibell({Yes});    /* 音発生時に 画面が明滅します                      */
  1525. tab(8);            /* 省略値は 8 です                                 */
  1526. retmark({Yes});        /* 省略値は 表示 です                               */
  1527. /************************************************************************
  1528. *    プログラム スタート (ルートスタート)                *
  1529. ************************************************************************/
  1530. backclr(0,0,0); FLG:=0;
  1531. MENU; PILOT;
  1532. discon;
  1533. stop;
  1534.